from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):  # 基础精通
    名称 = '基础精通'
    倍率 = 1.0

    所在等级 = 1
    等级上限 = 200
    学习间隔 = 1
    等级精通 = 110

    关联技能 = ['神焰']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = "惩戒十字"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 292]
    无色消耗 = 0
    data0 = [0, 2057, 2269, 2477, 2686, 2893, 3107, 3312, 3524, 3731, 3942, 4150, 4361, 4569, 4779, 4984, 5198, 5403, 5612, 5823, 6031, 6241, 6449, 6660, 6868, 7077, 7287, 7497, 7703, 7917, 8122, 8334, 8541, 8753, 8960, 9170, 9378, 9589, 9795, 10003, 10215, 10422, 10632, 10841, 11050, 11260, 11469, 11678, 11886, 12094, 12306, 12513, 12725, 12933, 13144, 13350, 13563, 13769, 13981, 14186, 14395, 14606, 14813, 15025, 15232, 15442, 15649, 15861, 16068, 16277, 16487]
    hit0 = 1
    data1 = [0, 3091, 3404, 3718, 4031, 4346, 4657, 4972, 5286, 5599, 5914, 6227, 6541, 6853, 7169, 7482, 7795, 8109, 8422, 8738, 9049, 9364, 9676, 9992, 10305, 10619, 10933, 11244, 11560, 11873, 12187, 12501, 12814, 13129, 13440, 13755, 14067, 14384, 14697, 15011, 15324, 15635, 15951, 16264, 16579, 16891, 17206, 17520, 17832, 18147, 18459, 18775, 19088, 19402, 19715, 20027, 20343, 20657, 20970, 21282, 21598, 21912, 22224, 22538, 22851, 23166, 23480, 23792, 24105, 24419, 24734]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能2(主动技能):
    名称 = "净化火焰瓶"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 292]
    无色消耗 = 0
    data0 = [0, 4666, 5138, 5615, 6089, 6562, 7034, 7508, 7982, 8455, 8928, 9402, 9880, 10350, 10826, 11297, 11771, 12245, 12718, 13190, 13665, 14138, 14613, 15088, 15558, 16035, 16508, 16981, 17454, 17926, 18401, 18876, 19346, 19822, 20295, 20770, 21244, 21716, 22191, 22663, 23139, 23609, 24084, 24559, 25031, 25504, 25980, 26454, 26927, 27400, 27872, 28349, 28820, 29295, 29767, 30240, 30714, 31189, 31663, 32135, 32612, 33083, 33557, 34029, 34504, 34977, 35451, 35923, 36399, 36873, 37347]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能3(主动技能):
    名称 = "裁决之击"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 7701, 8484, 9265, 10046, 10829, 11610, 12392, 13172, 13953, 14736, 15517, 16297, 17079, 17864, 18644, 19425, 20208, 20986, 21773, 22552, 23332, 24113, 24898, 25678, 26460, 27240, 28025, 28806, 29585, 30365, 31148, 31930, 32711, 33494, 34274, 35058, 35839, 36621, 37399, 38185, 38964, 39746, 40527, 41307, 42092, 42873, 43653, 44436, 45218, 46002, 46781, 47561, 48344, 49126, 49906, 50689, 51469, 52252, 53034, 53812, 54594, 55378, 56158, 56939, 57723, 58503, 59285, 60068, 60848, 61628]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能4(主动技能):
    名称 = "火焰精华"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60
    CD = 8
    MP = [10, 120]
    无色消耗 = 0
    data0 = [0, 6414, 7436, 8460, 9480, 10504, 11524, 12548, 13567, 14593, 15614, 16638, 17661, 18683, 19707, 20728, 21751, 22772, 23795, 24817, 25842, 26860, 27887, 28907, 29930, 30953, 31976, 32999, 34020, 35044, 36065, 37089, 38107, 39134, 40155, 41177, 42200, 43223, 44245, 45267, 46291, 47312, 48335, 49358, 50382, 51402, 52422, 53447, 54470, 55493, 56515, 57539, 58561, 59582, 60606, 61628, 62649, 63673, 64694, 65716, 66740, 67761, 68786, 69804, 70831, 71852, 72875, 73894, 74920, 75939, 76964]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能5(被动技能):
    名称 = '战斧精通'
    所在等级 = 20
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 10:
            return round(1.05 + 0.01 * self.等级, 5)
        else:
            return round(0.95 + 0.02 * self.等级, 5)


class 技能6(主动技能):
    名称 = "神焰"
    所在等级 = 25
    等级上限 = 20
    学习间隔 = 5
    等级精通 = 10
    CD = 7
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181, 4181]
    hit0 = 1

    # 基础精通TP
    TP成长 = 0.1
    TP上限 = 5

    关联技能 = ['所有']
    关联技能1 = ['所有']
    非关联技能1 = ['火焰精华']

    # 圣火造成额外5%持续伤害

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 1.05

    # 除火焰精华外技能均加成
    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 10:
            return round(1.00+0.01*self.等级, 3)
        else:
            return round(1.10+0.02*(self.等级-10), 3)


class 技能7(主动技能):
    名称 = "审判重击"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [30, 500]
    无色消耗 = 0
    data0 = [0, 4933, 5437, 5937, 6436, 6939, 7439, 7940, 8439, 8939, 9442, 9942, 10442, 10941, 11447, 11946, 12448, 12949, 13448, 13949, 14448, 14948, 15452, 15951, 16451, 16953, 17455, 17954, 18458, 18958, 19458, 19958, 20458, 20962, 21461, 21961, 22462, 22962, 23462, 23966, 24466, 24966, 25466, 25966, 26471, 26971, 27470, 27970, 28472, 28972, 29474, 29976, 30475, 30976, 31477, 31976, 32479, 32979, 33478, 33981, 34481, 34982, 35482, 35986, 36487, 36986, 37486, 37989, 38488, 38988, 39489]
    hit0 = 1
    data1 = [0, 5245, 5774, 6306, 6838, 7371, 7905, 8437, 8969, 9499, 10030, 10563, 11094, 11629, 12162, 12692, 13224, 13756, 14288, 14823, 15355, 15885, 16418, 16947, 17480, 18014, 18546, 19079, 19612, 20142, 20675, 21205, 21739, 22272, 22802, 23334, 23868, 24397, 24930, 25465, 25994, 26527, 27058, 27592, 28125, 28655, 29189, 29722, 30252, 30784, 31315, 31850, 32382, 32913, 33444, 33977, 34508, 35041, 35571, 36106, 36638, 37169, 37702, 38234, 38765, 39298, 39834, 40363, 40895, 41427, 41958]
    hit1 = 1
    TP成长 = 0.2
    TP上限 = 7

    def TP加成(self):
        return 1.0

    def 等效百分比(self, **argv):
        if self.TP等级 > 0:
            self.power1 = 1 + self.TP等级 * self.TP成长
        return super().等效百分比(**argv)

class 技能8(主动技能):
    名称 = "圣焰冲锋"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [68, 364]
    无色消耗 = 0
    data0 = [0, 8838, 9734, 10631, 11528, 12424, 13321, 14218, 15114, 16011, 16907, 17804, 18701, 19597, 20494, 21391, 22287, 23184, 24080, 24977, 25874, 26770, 27667, 28564, 29460, 30357, 31254, 32150, 33047, 33943, 34840, 35737, 36633, 37530, 38427, 39323, 40220, 41116, 42013, 42910, 43806, 44703, 45600, 46496, 47393, 48290, 49186, 50083, 50979, 51876, 52773, 53669, 54566, 55463, 56359, 57256, 58152, 59049, 59946, 60842, 61739, 62636, 63532, 64429, 65326, 66222, 67119, 68015, 68912, 69809, 70705]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能9(主动技能):
    名称 = "神焰洗礼"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [45, 850]
    无色消耗 = 1
    data0 = [0, 16219, 17866, 19516, 21159, 22807, 24450, 26098, 27740, 29390, 31034, 32677, 34325, 35972, 37617, 39264, 40909, 42556, 44200, 45844, 47490, 49138, 50786, 52431, 54076, 55722, 57367, 59013, 60657, 62305, 63948, 65597, 67243, 68889, 70535, 72180, 73826, 75473, 77115, 78762, 80408, 82055, 83702, 85346, 86992, 88639, 90281, 91928, 93574, 95223, 96868, 98513, 100158, 101805, 103450, 105096, 106742, 108390, 110032, 111681, 113325, 114973, 116617, 118264, 119909, 121555, 123199, 124844, 126492, 128140, 129783]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    def 净化之焰适用(self):
        return int(self.data0[self.等级] * 0.3 * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率)


class 技能10(主动技能):
    名称 = "神焰斩"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [45, 850]
    无色消耗 = 1
    data0 = [0, 2047, 2253, 2461, 2670, 2877, 3083, 3291, 3499, 3709, 3915, 4124, 4332, 4541, 4747, 4953, 5163, 5371, 5575, 5786, 5994, 6199, 6408, 6617, 6824, 7033, 7239, 7448, 7658, 7861, 8071, 8279, 8488, 8694, 8902, 9111, 9317, 9524, 9733, 9942, 10150, 10356, 10565, 10774, 10979, 11186, 11396, 11604, 11809, 12020, 12227, 12432, 12642, 12849, 13058, 13267, 13472, 13681, 13891, 14094, 14303, 14513, 14721, 14927, 15133, 15345, 15552, 15756, 15967, 16174, 16378]
    hit0 = 1
    data1 = [0, 18429, 20298, 22170, 24039, 25907, 27779, 29648, 31519, 33390, 35258, 37127, 38999, 40868, 42737, 44610, 46478, 48349, 50217, 52088, 53958, 55828, 57699, 59567, 61438, 63309, 65177, 67046, 68918, 70786, 72657, 74529, 76396, 78266, 80137, 82006, 83876, 85747, 87617, 89487, 91357, 93225, 95096, 96967, 98833, 100706, 102576, 104445, 106314, 108187, 110052, 111924, 113796, 115667, 117535, 119405, 121276, 123143, 125013, 126885, 128754, 130622, 132493, 134364, 136234, 138105, 139971, 141843, 143714, 145581, 147453]
    hit1 = 0
    data2 = [0, 18439, 20310, 22178, 24050, 25922, 27791, 29663, 31535, 33402, 35277, 37147, 39017, 40886, 42759, 44629, 46500, 48366, 50241, 52112, 53980, 55852, 57726, 59594, 61466, 63337, 65206, 67076, 68948, 70819, 72689, 74561, 76430, 78304, 80173, 82042, 83914, 85784, 87655, 89527, 91396, 93267, 95137, 97008, 98878, 100752, 102621, 104493, 106364, 108235, 110104, 111975, 113844, 115717, 117589, 119456, 121331, 123200, 125069, 126941, 128812, 130683, 132552, 134423, 136296, 138164, 140035, 141905, 143779, 145648, 147519]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    形态 = ["焚烧", "常规"]

    def 形态变更(self, 形态, char: Character):
        if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "焚烧":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 1
        if 形态 == "常规":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0

    def 装备护石(self, char):
        self.power0 = 0
        self.倍率 *= 1.38
        self.CDR *= 0.85


class 技能11(主动技能):
    名称 = "神焰怒火"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [150, 1260]
    无色消耗 = 1
    data0 = [0, 3028, 3336, 3642, 3951, 4256, 4565, 4872, 5180, 5490, 5795, 6102, 6407, 6716, 7025, 7333, 7640, 7946, 8252, 8562, 8870, 9177, 9482, 9788, 10097, 10405, 10714, 11021, 11327, 11634, 11943, 12251, 12557, 12867, 13172, 13479, 13788, 14095, 14403, 14709, 15018, 15323, 15632, 15942, 16247, 16557, 16859, 17169, 17478, 17783, 18093, 18398, 18705, 19012, 19322, 19629, 19935, 20242, 20548, 20857, 21166, 21472, 21781, 22085, 22394, 22703, 23010, 23318, 23625, 23931, 24237]
    hit0 = 5
    data1 = [0, 10097, 11125, 12147, 13172, 14196, 15221, 16247, 17271, 18296, 19322, 20344, 21371, 22394, 23419, 24443, 25470, 26493, 27517, 28543, 29568, 30594, 31617, 32645, 33666, 34688, 35717, 36738, 37765, 38791, 39814, 40839, 41863, 42890, 43913, 44938, 45963, 46988, 48012, 49037, 50062, 51086, 52114, 53138, 54161, 55186, 56212, 57236, 58258, 59287, 60308, 61337, 62359, 63382, 64406, 65432, 66458, 67482, 68508, 69533, 70554, 71583, 72606, 73630, 74655, 75682, 76704, 77728, 78755, 79779, 80805]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 += 2
        self.倍率 *= 1.09
        self.CDR *= 0.85


class 技能12(主动技能):
    名称 = "净化之焰"
    所在等级 = 40
    等级上限 = 1
    学习间隔 = 2
    等级精通 = 1
    CD = 20
    MP = [288, 288]
    无色消耗 = 1
    # 伤害为神焰洗礼的0.3

    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        self.data0 = [0, char.get_skill_by_name("神焰洗礼").净化之焰适用()]
        self.hit0 = 1
        return super().等效百分比(**argv)


class 技能13(主动技能):
    名称 = "行刑"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [250, 2500]
    无色消耗 = 2
    data0 = [0, 39427, 43424, 47426, 51426, 55425, 59426, 63429, 67426, 71427, 75428, 79426, 83427, 87423, 91425, 95426, 99424, 103426, 107426, 111425, 115425, 119426, 123424, 127425, 131427, 135426, 139426, 143429, 147424, 151425, 155424, 159424, 163427, 167424, 171426, 175427, 179423, 183425, 187426, 191422, 195426, 199427, 203425, 207426, 211424, 215425, 219425, 223423, 227424, 231426, 235424, 239426, 243427, 247422, 251425, 255425, 259423, 263425, 267424, 271424, 275424, 279423, 283423, 287425, 291421, 295427, 299427, 303423, 307425, 311425, 315424]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.29
        self.CDR *= 0.9


class 技能14(被动技能):
    名称 = '异端烙印'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.075 + 0.015 * self.等级, 5)


class 技能15(主动技能):
    名称 = "火刑"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [881, 7403]
    无色消耗 = 5
    data0 = [0, 4644, 5720, 6797, 7875, 8950, 10029, 11107, 12181, 13260, 14334, 15414, 16492, 17566, 18645, 19720, 20797, 21875, 22950, 24029, 25104, 26182, 27259, 28336, 29413, 30488, 31565, 32646, 33719, 34798, 35874, 36950, 38029, 39106, 40182, 41260, 42336, 43414, 44490, 45567, 46645, 47722, 48797, 49874, 50950, 52029, 53105, 54182, 55258, 56338, 57414]
    hit0 = 1
    data1 = [0, 13934, 17162, 20393, 23625, 26855, 30088, 33319, 36546, 39778, 43010, 46241, 49471, 52700, 55931, 59163, 62395, 65625, 68856, 72086, 75318, 78550, 81779, 85010, 88240, 91471, 94702, 97935, 101165, 104396, 107625, 110856, 114086, 117319, 120550, 123781, 127011, 130241, 133471, 136703, 139935, 143165, 146396, 149626, 152858, 156089, 159321, 162549, 165780, 169011, 172243]
    hit1 = 1
    data2 = [0, 4959, 6107, 7261, 8411, 9561, 10710, 11860, 13010, 14161, 15311, 16461, 17610, 18762, 19913, 21063, 22212, 23362, 24512, 25664, 26812, 27962, 29115, 30265, 31414, 32564, 33714, 34864, 36013, 37163, 38314, 39465, 40615, 41764, 42916, 44066, 45215, 46365, 47517, 48667, 49815, 50966, 52118, 53268, 54418, 55567, 56718, 57867, 59016, 60166, 61318]
    hit2 = 15

    def 等效百分比(self, **argv):
        if self.等级 >= 6:
            self.power2 = 1.1
        return super().等效百分比(**argv)


class 技能16(主动技能):
    名称 = "神焰漩涡"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 25
    MP = [400, 1620]
    无色消耗 = 1
    data0 = [0, 2937, 3236, 3535, 3834, 4129, 4429, 4726, 5026, 5324, 5622, 5919, 6219, 6516, 6817, 7112, 7411, 7710, 8010, 8308, 8607, 8905, 9200, 9500, 9797, 10098, 10396, 10694, 10993, 11290, 11586, 11886, 12184, 12481, 12780, 13079, 13378, 13677, 13971, 14271, 14570, 14868, 15168, 15465, 15761, 16062, 16357, 16661, 16956, 17254, 17552]
    hit0 = 10
    data1 = [0, 6203, 6836, 7464, 8094, 8722, 9354, 9983, 10612, 11242, 11870, 12501, 13131, 13761, 14388, 15019, 15650, 16279, 16910, 17537, 18170, 18796, 19427, 20058, 20684, 21318, 21945, 22575, 23207, 23833, 24466, 25092, 25726, 26354, 26983, 27614, 28245, 28873, 29501, 30133, 30760, 31392, 32023, 32652, 33280, 33909, 34541, 35169, 35800, 36429, 37058]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 13
        self.power0 = 1.01
        self.power1 = 1.14


class 技能17(主动技能):
    名称 = "逆罪灭绝"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [390, 1598]
    无色消耗 = 2
    data0 = [0, 21342, 23507, 25673, 27838, 30003, 32168, 34333, 36499, 38664, 40829, 42994, 45159, 47325, 49490, 51655, 53820, 55985, 58151, 60316, 62481, 64646, 66811, 68977, 71142, 73307, 75472, 77637, 79803, 81968, 84133, 86298, 88463, 90629, 92794, 94959, 97124, 99289, 101455, 103620, 105785, 107950, 110115, 112281, 114446, 116611, 118776, 120941, 123107, 125272, 127437]
    hit0 = 1
    data1 = [0, 32014, 35261, 38509, 41757, 45005, 48253, 51500, 54748, 57996, 61244, 64492, 67739, 70987, 74235, 77483, 80730, 83978, 87226, 90474, 93722, 96969, 100217, 103465, 106713, 109961, 113208, 116456, 119704, 122952, 126200, 129447, 132695, 135943, 139191, 142439, 145686, 148934, 152182, 155430, 158678, 161925, 165173, 168421, 171669, 174917, 178164, 181412, 184660, 187908, 191156]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 0
        self.power1 = 1+0.95+0.26


class 技能18(主动技能):
    名称 = "裁决轮回斩"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 5114, 5634, 6154, 6675, 7194, 7714, 8231, 8752, 9272, 9791, 10309, 10826, 11347, 11867, 12386, 12906, 13426, 13943, 14463, 14983, 15503, 16024, 16542, 17060, 17580, 18097, 18617, 19135, 19655, 20175, 20695, 21212, 21734, 22253, 22771, 23291, 23811, 24331, 24851, 25366, 25886, 26404, 26927, 27445, 27965, 28483, 29004, 29523, 30043, 30561]
    hit0 = 3
    data1 = [0, 81508, 89780, 98047, 106319, 114586, 122853, 131124, 139395, 147664, 155930, 164201, 172471, 180743, 189009, 197278, 205546, 213816, 222085, 230354, 238625, 246894, 255162, 263433, 271699, 279969, 288241, 296509, 304775, 313047, 321318, 329588, 337854, 346123, 354394, 362665, 370931, 379200, 387471, 395738, 404011, 412278, 420548, 428817, 437086, 445355, 453622, 461894, 470163, 478434, 486699]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 2
        self.power0 = 3/2  # 原本3hit伤害被整合为2hit
        self.power1 = 1.26*1.17
        self.CDR *= 0.92


class 技能19(被动技能):
    名称 = '定罪法则'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']
    非关联技能 = ['火焰精华']
    关联技能1 = ['火焰精华']
    冷却关联技能 = ['火焰精华', '神焰']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return (round(1.073 + 0.017 * self.等级, 5))

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.85


class 技能20(主动技能):
    名称 = "车轮刑"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [600, 5000]
    无色消耗 = 5
    data0 = [0, 3329, 3668, 4004, 4345, 4682, 5020, 5358, 5696, 6032, 6371, 6710, 7047, 7386, 7723, 8060, 8400, 8737, 9075, 9412, 9751, 10088, 10426, 10766, 11103, 11442, 11779, 12115, 12454, 12792, 13130, 13467, 13808, 14143, 14481, 14822, 15163, 15500, 15838, 16176, 16512, 16851, 17190, 17526, 17865, 18203, 18541, 18878, 19219, 19554, 19893]
    hit0 = 1
    data1 = [0, 3329, 3668, 4004, 4345, 4682, 5020, 5358, 5696, 6032, 6371, 6710, 7047, 7386, 7723, 8060, 8400, 8737, 9075, 9412, 9751, 10088, 10426, 10766, 11103, 11442, 11779, 12115, 12454, 12792, 13130, 13467, 13808, 14143, 14481, 14822, 15163, 15500, 15838, 16176, 16512, 16851, 17190, 17526, 17865, 18203, 18541, 18878, 19219, 19554, 19893]
    hit1 = 25
    data2 = [0, 21373, 23544, 25710, 27880, 30049, 32216, 34387, 36553, 38723, 40890, 43061, 45228, 47397, 49566, 51733, 53903, 56071, 58239, 60408, 62579, 64746, 66913, 69084, 71249, 73420, 75585, 77757, 79926, 82096, 84264, 86431, 88600, 90766, 92938, 95106, 97274, 99443, 101611, 103779, 105951, 108117, 110285, 112454, 114624, 116790, 118960, 121131, 123297, 125468, 127633]
    hit2 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.31


class 技能21(主动技能):
    名称 = "炎狱祭坛：炮烙"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 29200, 35969, 42740, 49510, 56283, 63055, 69823, 76594, 83365, 90139, 96910, 103682, 110450, 117222, 123994, 130766, 137535, 144304, 151077, 157849, 164621, 171390, 178163, 184932, 191705, 198476, 205249, 212018, 218789, 225560, 214129, 220371, 226611, 232852, 239091, 245333, 251573, 257814, 264056, 270297, 276536, 282777, 289018, 295259, 301499, 307739, 313980, 320222, 326462, 332704]
    hit0 = 3
    data1 = [0, 131400, 161868, 192339, 222810, 253278, 283747, 314220, 344688, 375159, 405630, 436099, 466567, 497038, 527508, 557979, 588446, 618916, 649386, 679855, 710328, 740799, 771268, 801737, 832207, 862678, 893147, 923616, 954086, 984554, 1015025, 963591, 991672, 1019756, 1047837, 1075921, 1104005, 1132087, 1160170, 1188252, 1216335, 1244418, 1272501, 1300584, 1328667, 1356750, 1384832, 1412915, 1440997, 1469080, 1497163]
    hit1 = 1


class 技能22(主动技能):
    名称 = "补赎逆十字"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [800, 6667]
    无色消耗 = 7
    data0 = [0, 75323, 82965, 90607, 98248, 105891, 113531, 121174, 128816, 136458, 144099, 151740, 159383, 167024, 174665, 182307, 189948, 197591, 205233, 212874, 220516, 228158, 235800, 243441, 251082, 258725, 266364, 274007, 281651, 289290, 296932, 304574, 312215, 319857, 327498, 335140, 342781, 350423, 358067, 365707, 373349, 380992, 388632, 396274, 403915, 411557, 419198, 426840, 434482, 442124, 449766]
    hit0 = 1
    data1 = [0, 94154, 103708, 113260, 122812, 132364, 141915, 151466, 161019, 170572, 180125, 189676, 199229, 208779, 218331, 227883, 237436, 246989, 256541, 266093, 275646, 285195, 294748, 304300, 313854, 323405, 332958, 342510, 352060, 361612, 371165, 380717, 390270, 399822, 409375, 418924, 428477, 438028, 447582, 457134, 466687, 476238, 485791, 495341, 504893, 514445, 523999, 533551, 543103, 552655, 562206]
    hit1 = 1
    data2 = [0, 1885, 2073, 2262, 2456, 2644, 2837, 3029, 3220, 3408, 3599, 3793, 3982, 4175, 4363, 4555, 4748, 4939, 5128, 5319, 5512, 5701, 5895, 6083, 6274, 6468, 6659, 6847, 7038, 7230, 7423, 7614, 7803, 7996, 8185, 8379, 8570, 8758, 8949, 9141, 9334, 9522, 9716, 9905, 10098, 10289, 10477, 10669, 10860, 11054, 11242]
    hit2 = 20


class 技能23(被动技能):
    名称 = '狂炎告解'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能24(主动技能):
    名称 = "无间业火：罪灭神威"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 6400, 7885, 9368, 10853, 12337, 13822, 15305, 16789, 18274, 19758, 21242, 22726, 24212, 25696, 27179, 28664, 30148, 31633, 33117, 34600, 36084, 37569, 39053, 40536, 42021, 43505, 44990, 46473, 47958, 49442, 50928, 52410, 53894, 55380, 56864, 58349, 59832, 61317, 62801, 64284, 65768, 67252, 68738, 70222, 71706, 73190, 74675, 76159, 77643, 79127]
    hit0 = 1
    data1 = [0, 57606, 70965, 84322, 97679, 111038, 124395, 137755, 151112, 164471, 177829, 191187, 204546, 217901, 231260, 244617, 257976, 271334, 284693, 298050, 311408, 324766, 338125, 351482, 364840, 378198, 391556, 404916, 418273, 431631, 444989, 458347, 471705, 485063, 498421, 511779, 525136, 538496, 551853, 565212, 578568, 591927, 605284, 618642, 632000, 645358, 658717, 672075, 685434, 698791, 712150]
    hit1 = 1
    data2 = [0, 448049, 551945, 655841, 759737, 863633, 967531, 1071424, 1175320, 1279217, 1383112, 1487010, 1590904, 1694798, 1798696, 1902591, 2006487, 2110383, 2214277, 2318174, 2422070, 2525966, 2629860, 2733756, 2837653, 2941549, 3045444, 3149339, 3253236, 3357132, 3461027, 3564925, 3668819, 3772714, 3876610, 3980506, 4084402, 4188298, 4292192, 4396090, 4499986, 4603882, 4707778, 4811672, 4915569, 5019464, 5123360, 5227256, 5331150, 5435047, 5538942]
    hit2 = 1
    data3 = [0, 16003, 19712, 23422, 27133, 30843, 34555, 38264, 41976, 45687, 49396, 53108, 56816, 60528, 64239, 67948, 71660, 75369, 79081, 82791, 86502, 90213, 93922, 97634, 101345, 105055, 108766, 112475, 116186, 119897, 123608, 127318, 131028, 134739, 138449, 142160, 145870, 149581, 153293, 157003, 160714, 164424, 168134, 171845, 175555, 179266, 182976, 186687, 190398, 194109, 197818]
    hit3 = 8


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'inquistor'
        self.名称 = '神启·异端审判者'
        self.角色 = '圣职者(女)'
        self.角色类型 = '输出'
        self.职业 = '异端审判者'
        # 用来筛CP武器的
        self.转职 = '异端审判者'
        self.武器选项 = ['战斧']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '战斧'
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.93

        super().__init__(equVersion)
